package com.chinawayltd.ews.sample.service.materiel;

import java.util.List;
import java.util.Map;

import com.chinawayltd.ews.sample.model.TMateriel;
import com.chinawayltd.ews.sample.model.materiel.MaterielVO;
import com.chinawayltd.ews.sample.util.PageData;
import com.chinawayltd.ews.sample.util.excel.ExcelObjModel;
import com.chinawayltd.ews.sample.web.query.MaterielGirdQuery;

/**
 * @program: greeProject
 * @description 物料信息管理service
 * @author: chenxin
 * @create: 2018年4月16日 下午3:35:25
 */
public interface MaterielService {

    /**
     * 根据查询条件与分页信息查询物料数据
     * @param queryParam
     * @return
     */
    List<MaterielVO> listMaterielByPage(MaterielGirdQuery queryParam) throws Exception;

    /**
     * 根据id查出对应的物料信息
     * @param id
     * @return
     */
    TMateriel getMaterielById(Long id) throws Exception;

    /**
     * 新增物料信息
     * @param tMateriel
     * @return
     */
    int insertMateriel(TMateriel tMateriel) throws Exception;

    /**
     * 修改物料信息
     * @param tMateriel
     * @return
     */
    int updateMateriel(TMateriel tMateriel) throws Exception;

    /**
     * 删除物料信息
     * @param id
     * @return
     */
    int deleteMaterielById(Long id) throws Exception;
    
    /**
     * 校验材料编号唯一性
     * @author: chenxin
     * @date: 2018年5月2日
     * @param materielId
     * @param materielNo
     * @return
     */
	List<TMateriel> getMaterleiByIdOrCode(Long id, String name) throws Exception;

	/**物料基础信息批量导入
	 * @author Fay
	 * @date 2018年5月3日 下午5:01:10
	 * @param list
	 * @return
	 */
	ExcelObjModel insertList(List<PageData> list) throws Exception;

	/**物料信息导出
	 * @author Fay
	 * @date 2018年5月24日 上午10:36:29
	 * @param queryParam
	 * @return
	 */
	List<Map<String, Object>> exportGirdData(MaterielGirdQuery queryParam) throws Exception;
}
